package org.amse.korovkin.ciphering.model.cipher;

import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.zip.DataFormatException;

/**
 *
 * @author Mikhail Korovkin
 */
public interface ICipher {
    public void encrypt(String inputFile, String outputFile, String keyFile) 
            throws FileNotFoundException, IOException;
    public void decrypt(String inputFile, String outputFile, String keyFile) 
            throws FileNotFoundException, IOException;
    public void encrypt(String inputFile, String outputFile, IKey key)
            throws FileNotFoundException, IOException;
    public void decrypt(String inputFile, String outputFile, IKey key)
            throws FileNotFoundException, IOException;
    public void attack(String inFile, String outFile)
            throws IOException, DataFormatException, InterruptedException;
    public String getName();
}
